The first major difference between LATEX 2.09 style files and LATEX2e packages and classes is that LATEX2e supports modularity, in the sense of building files from small building-blocks rather than using large single files.
A LATEX package or class can load a package as follows:
\RequirePackage[<options>]{<package>}[<date>]For example:
\RequirePackage{ifthen}[1994/06/01]This command has the same syntax as the author command |. It allows packages or classes to use features provided by other packages. For example, by loading the |ifthen| package, a package writer can use the `if...then...else...' commands provided by that package.
A LATEX class can load one other class as follows:
\LoadClass[<options>]{<class-name>}[<date>]For example:
\LoadClass[twocolumn]{article}This command has the same syntax as the author command |. It allows classes to be based on the syntax and appearance of another class. For example, by loading the |article| class, a class writer only has to change the bits of |article| they don't like, rather than writing a new class from scratch.